home *** CD-ROM | disk | FTP | other *** search
/ JCSM Shareware Collection 1993 November / JCSM Shareware Collection - 1993-11.iso / cl720 / fast278j.lzh / CRC.F < prev    next >
Text File  |  1980-01-01  |  744b  |  47 lines

  1. ;XMODEM CRC
  2.  
  3. var poly
  4.  
  5. crctab ? 256*2
  6.  
  7. proc make_table
  8.     {
  9.     for val=0 to 255
  10.     result=val
  11.     for i=1 to 8
  12.         if result and 1 then result=(rrightz result) xor poly
  13.         else result=rrightz result
  14.     next i
  15.     poke crctab+val*2,result
  16.     next val
  17.     }
  18.  
  19. function calc_crc(ptr,count)
  20.     {
  21.     crc=0
  22.     while count
  23.     {
  24.     crc=crc xor peekb ptr:ptr++
  25.     crc=(high crc) xor peek (crctab+2*(crc and 0ffh))
  26.     count--
  27.     }
  28.     return crc
  29.     }
  30.  
  31. proc do(poly)
  32.     {
  33.     make_table
  34.     printh bios calc_crc(name1,1)
  35.     printh bios calc_crc(name2,3)
  36.     printh bios calc_crc(name3,30)
  37.     print bios
  38.     }
  39.  
  40. do(8404h)
  41. do(0a001h)
  42. stop
  43.  
  44. name1: datab 'T'
  45. name2: datab 'THE'
  46. name3: datab 'THE,QUICK,BROWN,FOX,0123456789'
  47.